A storage system typically comprises one or more storage devices into which data may be entered, and from which data may be obtained, as desired. The storage system may be implemented in accordance with a variety of storage architectures including, but not limited to, a network-attached storage environment, a storage area network and a disk assembly directly attached to a client or host computer. The storage devices are typically disk drives, wherein the term “disk” commonly describes a self-contained rotating magnetic media storage device. The term “disk” in this context is synonymous with hard disk drive (HDD) or direct access storage device (DASD).
The disks within a storage system are typically organized as one or more groups, wherein each group is operated as a Redundant Array of Independent (or Inexpensive) Disks (RAID). Most RAID implementations enhance the reliability/integrity of data storage through the redundant writing of data “stripes” across a given number of physical disks in the RAID group, and the appropriate storing of redundant information with respect to the striped data. The redundant information enables recovery of data lost when a storage device fails.
In addition to volatile (system) memory, certain storage systems may also include non-volatile random access memory (NVRAM) that may be utilized to temporarily store received data before the data is committed to final persistent storage, such as disks. By using NVRAM in a storage system, an increase in performance is realized by clients of the storage system during write operations. In conventional storage systems, a storage system may not acknowledge a write request until such time as the data has been persistently stored on disk. By temporarily storing the received write data in persistent NVRAM, write operations may be acknowledged with shorter latency as compared to storing data directly to disks. Furthermore, in such NVRAM equipped storage systems, should an error condition occur, upon initialization of the system the data may be replayed from the NVRAM to disks to bring the disks to a consistent state. Thus, NVRAM enables improved write performance and protection of system memory against data loss during initialization of the storage system.
However, a noted disadvantage of storage systems that use NVRAM is that the added complexity of managing both volatile and nonvolatile memory substantially increases the overall cost of the systems. The increased cost may limit such systems from certain market segments including, e.g., lower-end small and medium businesses. Thus, the use of NVRAM in storage systems purchased by small and medium businesses has been impractical. The added cost also prohibits storage system vendors from manufacturing storage systems that include NVRAM at an appropriate price point for such lower end systems.